from django.shortcuts import render
from django.http import  HttpResponse,HttpRequest

# Create your views here.
# 创建cookie
def fun_cookie01(request):
    '''
    cookie是在服务器端创建，但是保存到浏览器端
    '''
    # cookie是通过响应对象来创建
    '''
        def set_cookie(self, key, value='', max_age=None, expires=None, path='/',
                   domain=None, secure=False, httponly=False, samesite=None):
        参数 ：key   value     保存到cookie容器里的数据
        参数：max_age(秒)    expires  cookie在浏览器端的保存时间

    '''
    v_respone=HttpResponse('cookie创建成功！',charset='utf-8')
    v_respone.set_cookie(key='key01',value='value01',max_age=1*60*30)

    return v_respone

# 显示页面
def fun_page01(request):
    return render(request,'html01_01.html')

# 添加一个商品到cookie
def fun_addcookie(request):
    v_response=HttpResponse('添加商品成功！',charset='utf-8')
    v_response.set_cookie('shop','dsj',max_age=1*60*30)
    return v_response

# 查看购物车里的数据
def fun_findcookie(request):
    # 获取浏览器端传递过来的所有cookie
    v_cookie_dict=request.COOKIES
    v_info='';
    if 'shop' in v_cookie_dict:
        v_value=v_cookie_dict.get('shop')
        v_info='您好，您购买的商品如下：<br>'+v_value
    else:
        v_info='不好意思，你没有购买商品，请先购买。'
        pass

    return HttpResponse(v_info,charset='utf-8')

# 更新cookie里的数据
def fun_updatecookie(request):
    # 获取浏览器端传递过来的所有cookie
    v_cookie_dict=request.COOKIES
    v_info=''
    v_response = HttpResponse()
    if 'shop' in v_cookie_dict:
        # 创建一个key值 保存时间一样，但是value值不一样cookie
        v_info='更新成功'
        v_response.content=v_info
        v_response.set_cookie('shop','xyj',max_age=1*60*30)
    else:
        v_info='不好意思，你没有购买商品，请先购买。'
        v_response.content = v_info
        pass
    return v_response

# 删除cookie
def fun_deletecookie(request):
    v_cookie_dict=request.COOKIES
    v_info=''
    v_response=HttpResponse()
    if 'shop' in v_cookie_dict:
        v_info='删除成功'
        v_response.content=v_info
        #创建一个key值一样，保存时间为0的cookie
        v_response.set_cookie('shop',max_age=0)
    else:
        v_info = '不好意思，你没有购买商品，请先购买。'
        v_response.content=v_info
        pass
    return v_response